name: tests_tapi run_id: commands[0] env HOME: /home/jenkins env LANG: C.UTF-8 env PATH: /w/workspace/transportpce-tox-verify-calcium/.tox/tests_tapi/bin:/opt/pyenv/bin:/tmp/venv-zKuK/bin:/opt/pyenv/shims:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin env PYTHONHASHSEED: 3599386385 env PIP_DISABLE_PIP_VERSION_CHECK: 1 env PYTHONIOENCODING: utf-8 env USE_ODL_ALT_KARAF_ENV: ./karaf221.env env USE_ODL_ALT_KARAF_INSTALL_DIR: karaf221 env INSTALL_TAPI: True env OLM_TIMER1: 3000 env OLM_TIMER2: 2000 env TOX_ENV_NAME: tests_tapi env TOX_WORK_DIR: /w/workspace/transportpce-tox-verify-calcium/.tox env TOX_ENV_DIR: /w/workspace/transportpce-tox-verify-calcium/.tox/tests_tapi env VIRTUAL_ENV: /w/workspace/transportpce-tox-verify-calcium/.tox/tests_tapi metadata pid: 30714 cwd: /w/workspace/transportpce-tox-verify-calcium/tests allow: /w/workspace/transportpce-tox-verify-calcium/.tox/tests_tapi/bin/*:launch_tests.sh cmd: ./launch_tests.sh tapi exit_code: 1 using environment variables from ./karaf221.env pytest -q transportpce_tests/tapi/test01_abstracted_topology.py .................................................. [100%] 50 passed in 399.03s (0:06:39) pytest -q transportpce_tests/tapi/test02_full_topology.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [100%] =================================== FAILURES =================================== __________________ TransportPCEtesting.test_01_connect_spdrA ___________________ self = def test_01_connect_spdrA(self): print("Connecting SPDRA") response = test_utils.mount_device("SPDR-SA1", ('spdra', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/tapi/test02_full_topology.py:174: AssertionError ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF TransportPCE build... Searching for pattern 'Transportpce controller started' in karaf.log... Pattern found! OpenDaylight started ! installing tapi feature... installing feature odl-transportpce-tapi client: JAVA_HOME not set; results may vary odl-transportpce-tapi │ 9.1.2 │ x │ Started │ odl-transportpce-tapi │ OpenDaylight :: transportpce :: tapi Restarting OpenDaylight... starting KARAF TransportPCE build... Searching for pattern 'Transportpce controller started' in karaf.log... Pattern found! starting simulator spdra in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in spdra-221.log... Pattern found! simulator for spdra started starting simulator roadma in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in roadma-221.log... Pattern found! simulator for roadma started starting simulator roadmc in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in roadmc-221.log... Pattern found! simulator for roadmc started starting simulator spdrc in OpenROADM device version 2.2.1... Searching for pattern 'Data tree change listeners registered' in spdrc-221.log... Pattern found! simulator for spdrc started ---------------------------- Captured stderr setup ----------------------------- SLF4J(W): No SLF4J providers were found. SLF4J(W): Defaulting to no-operation (NOP) logger implementation SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details. SLF4J(W): Class path contains SLF4J bindings targeting slf4j-api versions 1.7.x or earlier. SLF4J(W): Ignoring binding found at [jar:file:/w/workspace/transportpce-tox-verify-calcium/karaf221/target/assembly/system/org/apache/karaf/org.apache.karaf.client/4.4.6/org.apache.karaf.client-4.4.6.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J(W): See https://www.slf4j.org/codes.html#ignoredBindings for an explanation. ----------------------------- Captured stdout call ----------------------------- Connecting SPDRA Searching for pattern 'Triggering notification stream NETCONF for node SPDR-SA1' in karaf.log... Pattern not found after 180 seconds! Node SPDR-SA1 still not added to tpce topology... __________________ TransportPCEtesting.test_02_connect_spdrC ___________________ self = def test_02_connect_spdrC(self): print("Connecting SPDRC") response = test_utils.mount_device("SPDR-SC1", ('spdrc', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/tapi/test02_full_topology.py:180: AssertionError ----------------------------- Captured stdout call ----------------------------- Connecting SPDRC Searching for pattern 'Triggering notification stream NETCONF for node SPDR-SC1' in karaf.log... Pattern not found after 180 seconds! Node SPDR-SC1 still not added to tpce topology... ___________________ TransportPCEtesting.test_03_connect_rdmA ___________________ self = def test_03_connect_rdmA(self): print("Connecting ROADMA") response = test_utils.mount_device("ROADM-A1", ('roadma', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/tapi/test02_full_topology.py:186: AssertionError ----------------------------- Captured stdout call ----------------------------- Connecting ROADMA Searching for pattern 'Triggering notification stream NETCONF for node ROADM-A1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-A1 still not added to tpce topology... ___________________ TransportPCEtesting.test_04_connect_rdmC ___________________ self = def test_04_connect_rdmC(self): print("Connecting ROADMC") response = test_utils.mount_device("ROADM-C1", ('roadmc', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/tapi/test02_full_topology.py:192: AssertionError ----------------------------- Captured stdout call ----------------------------- Connecting ROADMC Searching for pattern 'Triggering notification stream NETCONF for node ROADM-C1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-C1 still not added to tpce topology... _________ TransportPCEtesting.test_05_connect_sprdA_1_N1_to_roadmA_PP1 _________ self = def test_05_connect_sprdA_1_N1_to_roadmA_PP1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'SPDR-SA1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/tapi/test02_full_topology.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-xpdr-rdm-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError _________ TransportPCEtesting.test_06_connect_roadmA_PP1_to_spdrA_1_N1 _________ self = def test_06_connect_roadmA_PP1_to_spdrA_1_N1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'SPDR-SA1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/tapi/test02_full_topology.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-rdm-xpdr-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-A1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError _________ TransportPCEtesting.test_07_connect_sprdC_1_N1_to_roadmC_PP1 _________ self = def test_07_connect_sprdC_1_N1_to_roadmC_PP1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-xpdr-rdm-links', {'links-input': {'xpdr-node': 'SPDR-SC1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/tapi/test02_full_topology.py:214: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-xpdr-rdm-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError _________ TransportPCEtesting.test_08_connect_roadmC_PP1_to_spdrC_1_N1 _________ self = def test_08_connect_roadmC_PP1_to_spdrC_1_N1(self): > response = test_utils.transportpce_api_rpc_request( 'transportpce-networkutils', 'init-rdm-xpdr-links', {'links-input': {'xpdr-node': 'SPDR-SC1', 'xpdr-num': '1', 'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX'}}) transportpce_tests/tapi/test02_full_topology.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'transportpce-networkutils', rpc = 'init-rdm-xpdr-links' payload = {'links-input': {'network-num': '1', 'rdm-node': 'ROADM-C1', 'srg-num': '1', 'termination-point-num': 'SRG1-PP1-TXRX', ...}} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'transportpce-networkutils:output' transportpce_tests/common/test_utils.py:694: KeyError _________ TransportPCEtesting.test_09_add_omsAttributes_ROADMA_ROADMC __________ self = def test_09_add_omsAttributes_ROADMA_ROADMC(self): # Config ROADMA-ROADMC oms-attributes data = {"span": { "auto-spanloss": "true", "spanloss-base": 11.4, "spanloss-current": 12, "engineered-spanloss": 12.2, "link-concatenation": [{ "SRLG-Id": 0, "fiber-type": "smf", "SRLG-length": 100000, "pmd": 0.5}]}} response = test_utils.add_oms_attr_request( "ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX", data) > self.assertEqual(response.status_code, requests.codes.created) E AssertionError: 401 != 201 transportpce_tests/tapi/test02_full_topology.py:245: AssertionError _________ TransportPCEtesting.test_10_add_omsAttributes_ROADMC_ROADMA __________ self = def test_10_add_omsAttributes_ROADMC_ROADMA(self): # Config ROADMC-ROADMA oms-attributes data = {"span": { "auto-spanloss": "true", "spanloss-base": 11.4, "spanloss-current": 12, "engineered-spanloss": 12.2, "link-concatenation": [{ "SRLG-Id": 0, "fiber-type": "smf", "SRLG-length": 100000, "pmd": 0.5}]}} response = test_utils.add_oms_attr_request( "ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX", data) > self.assertEqual(response.status_code, requests.codes.created) E AssertionError: 401 != 201 transportpce_tests/tapi/test02_full_topology.py:261: AssertionError ________________ TransportPCEtesting.test_11_check_otn_topology ________________ self = def test_11_check_otn_topology(self): response = test_utils.get_ietf_network_request('otn-topology', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/tapi/test02_full_topology.py:265: AssertionError _____________ TransportPCEtesting.test_12_check_openroadm_topology _____________ self = def test_12_check_openroadm_topology(self): response = test_utils.get_ietf_network_request('openroadm-topology', 'config') > self.assertEqual(response['status_code'], requests.codes.ok) E AssertionError: 401 != 200 transportpce_tests/tapi/test02_full_topology.py:271: AssertionError ____________ TransportPCEtesting.test_13_get_tapi_topology_details _____________ self = def test_13_get_tapi_topology_details(self): self.tapi_topo["topology-id"] = test_utils.T0_FULL_MULTILAYER_TOPO_UUID > response = test_utils.transportpce_api_rpc_request( 'tapi-topology', 'get-topology-details', self.tapi_topo) transportpce_tests/tapi/test02_full_topology.py:278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-topology', rpc = 'get-topology-details' payload = {'topology-id': '393f09a4-0a0b-3d82-a4f6-1fbbc14ca1a7'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-topology:output' transportpce_tests/common/test_utils.py:694: KeyError ________________ TransportPCEtesting.test_14_check_sip_details _________________ self = def test_14_check_sip_details(self): > response = test_utils.transportpce_api_rpc_request( 'tapi-common', 'get-service-interface-point-list', None) transportpce_tests/tapi/test02_full_topology.py:289: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-common', rpc = 'get-service-interface-point-list' payload = None def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-common:output' transportpce_tests/common/test_utils.py:694: KeyError ____ TransportPCEtesting.test_15_create_connectivity_service_PhotonicMedia _____ self = def test_15_create_connectivity_service_PhotonicMedia(self): self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.sAOTS self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.sZOTS > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'create-connectivity-service', self.cr_serv_input_data) transportpce_tests/tapi/test02_full_topology.py:297: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'create-connectivity-service' payload = {'connectivity-constraint': {'requested-capacity': {'total-size': {'unit': 'tapi-common:CAPACITY_UNIT_GBPS', 'value': ...'PHOTONIC_MEDIA', 'local-id': 'SPDR-SC1-XPDR1', ...}], 'layer-protocol-name': 'PHOTONIC_MEDIA', 'state': 'LOCKED', ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError ____________ TransportPCEtesting.test_16_get_service_PhotonicMedia _____________ self = def test_16_get_service_PhotonicMedia(self): > response = test_utils.get_ordm_serv_list_attr_request("services", str(self.uuid_services.pm)) transportpce_tests/tapi/test02_full_topology.py:329: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'None' def get_ordm_serv_list_attr_request(attribute: str, value: str): url = {'rfc8040': '{}/data/org-openroadm-service:service-list/{}={}?content=nonconfig', 'draft-bierman02': '{}/operational/org-openroadm-service:service-list/{}/{}'} format_args = ('{}', attribute, value) response = get_request(url[RESTCONF_VERSION].format(*format_args)) res = response.json() return_key = {'rfc8040': 'org-openroadm-service:' + attribute, 'draft-bierman02': attribute} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:636: KeyError _________ TransportPCEtesting.test_17_create_connectivity_service_ODU __________ self = def test_17_create_connectivity_service_ODU(self): # pylint: disable=line-too-long self.cr_serv_input_data["layer-protocol-name"] = "ODU" self.cr_serv_input_data["end-point"][0]["layer-protocol-name"] = "ODU" self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.sAeODU self.cr_serv_input_data["end-point"][1]["layer-protocol-name"] = "ODU" self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.sZeODU # self.cr_serv_input_data["connectivity-constraint"]["service-layer"] = "ODU" self.cr_serv_input_data["connectivity-constraint"]["service-level"] = self.uuid_services.pm > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'create-connectivity-service', self.cr_serv_input_data) transportpce_tests/tapi/test02_full_topology.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'create-connectivity-service' payload = {'connectivity-constraint': {'requested-capacity': {'total-size': {'unit': 'tapi-common:CAPACITY_UNIT_GBPS', 'value': ...layer-protocol-name': 'ODU', 'local-id': 'SPDR-SC1-XPDR1', ...}], 'layer-protocol-name': 'ODU', 'state': 'LOCKED', ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError _________________ TransportPCEtesting.test_18_get_service_ODU __________________ self = def test_18_get_service_ODU(self): > response = test_utils.get_ordm_serv_list_attr_request("services", str(self.uuid_services.odu)) transportpce_tests/tapi/test02_full_topology.py:378: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'None' def get_ordm_serv_list_attr_request(attribute: str, value: str): url = {'rfc8040': '{}/data/org-openroadm-service:service-list/{}={}?content=nonconfig', 'draft-bierman02': '{}/operational/org-openroadm-service:service-list/{}/{}'} format_args = ('{}', attribute, value) response = get_request(url[RESTCONF_VERSION].format(*format_args)) res = response.json() return_key = {'rfc8040': 'org-openroadm-service:' + attribute, 'draft-bierman02': attribute} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:636: KeyError _________ TransportPCEtesting.test_19_create_connectivity_service_DSR __________ self = def test_19_create_connectivity_service_DSR(self): # pylint: disable=line-too-long self.cr_serv_input_data["layer-protocol-name"] = "DSR" self.cr_serv_input_data["end-point"][0]["layer-protocol-name"] = "DSR" self.cr_serv_input_data["end-point"][0]["service-interface-point"]["service-interface-point-uuid"] = self.sADSR self.cr_serv_input_data["end-point"][1]["layer-protocol-name"] = "DSR" self.cr_serv_input_data["end-point"][1]["service-interface-point"]["service-interface-point-uuid"] = self.sZDSR # self.cr_serv_input_data["connectivity-constraint"]["service-layer"] = "DSR" self.cr_serv_input_data["connectivity-constraint"]["requested-capacity"]["total-size"]["value"] = "10" self.cr_serv_input_data["connectivity-constraint"]["service-level"] = self.uuid_services.odu > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'create-connectivity-service', self.cr_serv_input_data) transportpce_tests/tapi/test02_full_topology.py:398: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'create-connectivity-service' payload = {'connectivity-constraint': {'requested-capacity': {'total-size': {'unit': 'tapi-common:CAPACITY_UNIT_GBPS', 'value': ...layer-protocol-name': 'DSR', 'local-id': 'SPDR-SC1-XPDR1', ...}], 'layer-protocol-name': 'DSR', 'state': 'LOCKED', ...} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError _________________ TransportPCEtesting.test_20_get_service_DSR __________________ self = def test_20_get_service_DSR(self): > response = test_utils.get_ordm_serv_list_attr_request("services", str(self.uuid_services.dsr)) transportpce_tests/tapi/test02_full_topology.py:431: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attribute = 'services', value = 'None' def get_ordm_serv_list_attr_request(attribute: str, value: str): url = {'rfc8040': '{}/data/org-openroadm-service:service-list/{}={}?content=nonconfig', 'draft-bierman02': '{}/operational/org-openroadm-service:service-list/{}/{}'} format_args = ('{}', attribute, value) response = get_request(url[RESTCONF_VERSION].format(*format_args)) res = response.json() return_key = {'rfc8040': 'org-openroadm-service:' + attribute, 'draft-bierman02': attribute} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:636: KeyError __________ TransportPCEtesting.test_21_get_connectivity_service_list ___________ self = def test_21_get_connectivity_service_list(self): > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'get-connectivity-service-list', None) transportpce_tests/tapi/test02_full_topology.py:440: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'get-connectivity-service-list' payload = None def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError _________ TransportPCEtesting.test_22_delete_connectivity_service_DSR __________ self = def test_22_delete_connectivity_service_DSR(self): self.del_serv_input_data["uuid"] = str(self.uuid_services.dsr) > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'delete-connectivity-service', self.del_serv_input_data) transportpce_tests/tapi/test02_full_topology.py:469: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'delete-connectivity-service' payload = {'uuid': 'None'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError _________ TransportPCEtesting.test_23_delete_connectivity_service_ODU __________ self = def test_23_delete_connectivity_service_ODU(self): self.del_serv_input_data["uuid"] = str(self.uuid_services.odu) > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'delete-connectivity-service', self.del_serv_input_data) transportpce_tests/tapi/test02_full_topology.py:476: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'delete-connectivity-service' payload = {'uuid': 'None'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError ____ TransportPCEtesting.test_24_delete_connectivity_service_PhotonicMedia _____ self = def test_24_delete_connectivity_service_PhotonicMedia(self): self.del_serv_input_data["uuid"] = str(self.uuid_services.pm) > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'delete-connectivity-service', self.del_serv_input_data) transportpce_tests/tapi/test02_full_topology.py:483: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'delete-connectivity-service' payload = {'uuid': 'None'} def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError _______________ TransportPCEtesting.test_25_get_no_tapi_services _______________ self = def test_25_get_no_tapi_services(self): > response = test_utils.transportpce_api_rpc_request( 'tapi-connectivity', 'get-connectivity-service-list', None) transportpce_tests/tapi/test02_full_topology.py:489: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ api_module = 'tapi-connectivity', rpc = 'get-connectivity-service-list' payload = None def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): # pylint: disable=consider-using-f-string url = "{}/operations/{}:{}".format('{}', api_module, rpc) if payload is None: data = None elif RESTCONF_VERSION == 'draft-bierman02': data = prepend_dict_keys({'input': payload}, api_module + ':') else: data = {'input': payload} response = post_request(url, data) if response.status_code == requests.codes.no_content: return_output = None else: res = response.json() return_key = {'rfc8040': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res else: > return_output = res[return_key[RESTCONF_VERSION]] E KeyError: 'tapi-connectivity:output' transportpce_tests/common/test_utils.py:694: KeyError ____________ TransportPCEtesting.test_26_get_no_openroadm_services _____________ self = def test_26_get_no_openroadm_services(self): > response = test_utils.get_ordm_serv_list_request() transportpce_tests/tapi/test02_full_topology.py:499: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def get_ordm_serv_list_request(): url = {'rfc8040': '{}/data/org-openroadm-service:service-list?content=nonconfig', 'draft-bierman02': '{}/operational/org-openroadm-service:service-list/'} response = get_request(url[RESTCONF_VERSION]) res = response.json() return_key = {'rfc8040': 'org-openroadm-service:service-list', 'draft-bierman02': 'service-list'} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] else: > response_attribute = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:620: KeyError _________________ TransportPCEtesting.test_27_disconnect_spdrA _________________ self = def test_27_disconnect_spdrA(self): response = test_utils.unmount_device("SPDR-SA1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test02_full_topology.py:504: AssertionError ----------------------------- Captured stdout call ----------------------------- Searching for pattern 'onDeviceDisConnected:\ SPDR\-SA1' in karaf.log... Pattern not found after 180 seconds! Node SPDR-SA1 still not deleted from tpce topology... _________________ TransportPCEtesting.test_28_disconnect_spdrC _________________ self = def test_28_disconnect_spdrC(self): response = test_utils.unmount_device("SPDR-SC1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test02_full_topology.py:508: AssertionError ----------------------------- Captured stdout call ----------------------------- Searching for pattern 'onDeviceDisConnected:\ SPDR\-SC1' in karaf.log... Pattern not found after 180 seconds! Node SPDR-SC1 still not deleted from tpce topology... ________________ TransportPCEtesting.test_29_disconnect_roadmA _________________ self = def test_29_disconnect_roadmA(self): response = test_utils.unmount_device("ROADM-A1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test02_full_topology.py:512: AssertionError ----------------------------- Captured stdout call ----------------------------- Searching for pattern 'onDeviceDisConnected:\ ROADM\-A1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-A1 still not deleted from tpce topology... ________________ TransportPCEtesting.test_30_disconnect_roadmC _________________ self = def test_30_disconnect_roadmC(self): response = test_utils.unmount_device("ROADM-C1") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/tapi/test02_full_topology.py:516: AssertionError ----------------------------- Captured stdout call ----------------------------- Searching for pattern 'onDeviceDisConnected:\ ROADM\-C1' in karaf.log... Pattern not found after 180 seconds! Node ROADM-C1 still not deleted from tpce topology... --------------------------- Captured stdout teardown --------------------------- all processes killed =========================== short test summary info ============================ FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_01_connect_spdrA FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_02_connect_spdrC FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_03_connect_rdmA FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_04_connect_rdmC FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_05_connect_sprdA_1_N1_to_roadmA_PP1 FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_06_connect_roadmA_PP1_to_spdrA_1_N1 FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_07_connect_sprdC_1_N1_to_roadmC_PP1 FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_08_connect_roadmC_PP1_to_spdrC_1_N1 FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_09_add_omsAttributes_ROADMA_ROADMC FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_10_add_omsAttributes_ROADMC_ROADMA FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_11_check_otn_topology FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_12_check_openroadm_topology FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_13_get_tapi_topology_details FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_14_check_sip_details FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_15_create_connectivity_service_PhotonicMedia FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_16_get_service_PhotonicMedia FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_17_create_connectivity_service_ODU FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_18_get_service_ODU FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_19_create_connectivity_service_DSR FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_20_get_service_DSR FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_21_get_connectivity_service_list FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_22_delete_connectivity_service_DSR FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_23_delete_connectivity_service_ODU FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_24_delete_connectivity_service_PhotonicMedia FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_25_get_no_tapi_services FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_26_get_no_openroadm_services FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_27_disconnect_spdrA FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_28_disconnect_spdrC FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_29_disconnect_roadmA FAILED transportpce_tests/tapi/test02_full_topology.py::TransportPCEtesting::test_30_disconnect_roadmC 30 failed in 1549.94s (0:25:49)